home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / scsh-0.4 / scsh-0 / scsh-0.4.2 / scsh / hpux / netconst.scm < prev    next >
Text File  |  1995-10-13  |  5KB  |  129 lines

  1. ;;; Magic Numbers for Networking
  2. ;;; Copyright (c) 1994 by Brian D. Carlstrom.
  3.  
  4. ;;; magic numbers not from header file
  5. ;;; but from man page
  6. ;;; why can't unix make up its mind
  7. (define shutdown/receives 0)
  8. (define shutdown/sends 1)
  9. (define shutdown/sends+receives 2)
  10.  
  11. ;;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  12. ;;; BELOW THIS POINT ARE BITS FROM:
  13. ;;; <sys/socket.h> 
  14. ;;; <sys/un.h> 
  15. ;;; <netinet/in.h>
  16. ;;; <netinet/tcp.h>
  17. ;;; <netdb.h>
  18. ;;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  19.  
  20. ;;; ADDRESS FAMILIES -- <sys/socket.h>
  21. (define address-family/unspecified 0)    ; unspecified
  22. (define address-family/unix 1)        ; local to host (pipes, portals)
  23. (define address-family/internet 2)    ; internetwork: UDP, TCP, etc.
  24.  
  25. ;;; SOCKET TYPES -- <sys/socket.h>
  26. (define socket-type/stream 1)        ; stream socket 
  27. (define socket-type/datagram 2)        ; datagram socket
  28. (define socket-type/raw 3)        ; raw-protocol interface
  29. ;;(define socket-type/rdm 4)        ; reliably-delivered message
  30. ;;(define socket-type/seqpacket 5)      ; sequenced packet stream
  31.  
  32. ;;; PROTOCOL FAMILIES -- <sys/socket.h>
  33. (define protocol-family/unspecified 0)    ; unspecified
  34. (define protocol-family/unix 1)        ; local to host (pipes, portals)
  35. (define protocol-family/internet 2)    ; internetwork: UDP, TCP, etc.
  36.  
  37. ;;; Well know addresses -- <netinet/in.h>
  38. (define internet-address/any #x00000000)
  39. (define internet-address/loopback #x7f000001)
  40. (define internet-address/broadcast #xffffffff)    ; must be masked
  41.  
  42. ;;; errors from host lookup -- <netdb.h>
  43. (define    herror/host-not-found 1) ;Authoritative Answer Host not found
  44. (define    herror/try-again   2) ;Non-Authoritive Host not found, or SERVERFAIL
  45. (define    herror/no-recovery 3) ;Non recoverable errors, FORMERR, REFUSED, NOTIMP
  46. (define    herror/no-data     4) ;Valid name, no data record of requested type
  47. (define    herror/no-address herror/no-data) ;no address, look for MX record
  48.  
  49. ;;; flags for send/recv -- <sys/socket.h>
  50. (define message/out-of-band 1) ; process out-of-band data
  51. (define message/peek        2) ; peek at incoming message
  52. (define message/dont-route  4) ; send without using routing tables
  53.  
  54. ;;; protocol level for socket options -- <sys/socket.h>
  55. (define level/socket #xffff)        ; SOL_SOCKET: options for socket level
  56.  
  57. ;;; socket options -- <sys/socket.h>
  58. (define socket/debug         #x0001)    ; turn on debugging info recording 
  59. (define socket/accept-connect     #x0002)    ; socket has had listen() 
  60. (define socket/reuse-address     #x0004)    ; allow local address reuse 
  61. (define socket/keep-alive     #x0008)    ; keep connections alive 
  62. (define socket/dont-route     #x0010)    ; just use interface addresses 
  63. (define socket/broadcast     #x0020)    ; permit sending of broadcast msgs 
  64. (define socket/use-loop-back     #x0040)    ; bypass hardware when possible 
  65. (define socket/linger        #x0080) ; linger on close if data present 
  66. (define socket/oob-inline     #x0100)    ; leave received OOB data in line 
  67. ;(define socket/use-privileged     #x4000)    ; allocate from privileged port area 
  68. ;(define socket/cant-signal     #x8000)    ; prevent SIGPIPE on SS_CANTSENDMORE 
  69. (define socket/send-buffer     #x1001)    ; send buffer size 
  70. (define socket/receive-buffer     #x1002)    ; receive buffer size 
  71. (define socket/send-low-water     #x1003)    ; send low-water mark 
  72. (define socket/receive-low-water #x1004) ; receive low-water mark 
  73. (define socket/send-timeout     #x1005)    ; send timeout 
  74. (define socket/receive-timeout     #x1006)    ; receive timeout 
  75. (define socket/error         #x1007)    ; get error status and clear 
  76. (define socket/type         #x1008)    ; get socket type 
  77. (define socket/send-avoid-copy    #x1009)    ; avoid copy on send
  78. (define    socket/receive-avoid-copy #x100a) ; avoid copy on rcv 
  79.  
  80. ;;; ip options -- <netinet/in.h>
  81. (define    ip/options         1)    ; set/get IP per-packet options
  82. (define    ip/multicast-if        2)    ; set/get ip multicast interface 
  83. (define    ip/multicast-ttl    3)    ; set/get ip multicast timetolive
  84. (define    ip/multicast-loop    4)    ; set/get ip multicast loopback  
  85. (define    ip/add-membership    5)    ; add  an ip group membership    
  86. (define    ip/drop-membership    6)    ; drop an ip group membership    
  87. (define    ip/time-to-live     16)    ; set/get IP time-to-live value
  88.  
  89. ;;; tcp options -- <netinet/tcp.h>
  90. (define tcp/no-delay #x01)        ; don't delay send to coalesce packets
  91. (define tcp/max-segment #x02)        ; set maximum segment size
  92.  
  93. ;;; -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  94. ;;; OPTION SETS FOR SOCKET-OPTION AND SET-SOCKET-OPTION
  95.  
  96. ;;; Boolean Options
  97. (define options/boolean
  98.   (list socket/debug
  99.     socket/accept-connect
  100.     socket/reuse-address
  101.     socket/keep-alive
  102.     socket/dont-route
  103.     socket/broadcast
  104.     socket/use-loop-back
  105.     socket/oob-inline
  106. ;    socket/use-privileged
  107. ;    socket/cant-signal
  108.     tcp/no-delay))
  109.  
  110. ;;; Integer Options
  111. (define options/value
  112.   (list socket/send-buffer
  113.     socket/receive-buffer
  114.     socket/send-low-water
  115.     socket/receive-low-water
  116.     socket/error
  117.     socket/type
  118.     ip/time-to-live
  119.     tcp/max-segment))
  120.  
  121. ;;; #f or Positive Integer
  122. (define options/linger
  123.   (list socket/linger))
  124.  
  125. ;;; Real Number
  126. (define options/timeout
  127.   (list socket/send-timeout
  128.     socket/receive-timeout))
  129.